# if 判断
'''
格式：
    if(判断条件)：
        执行代码（缩进）
    [elif (判断条件):
        执行代码（缩进）]
    [else:
        执行代码（缩进）]
'''

age = 20

if (age < 0 or age > 150):
    print("成精了...")
elif (age <= 18):
    print("未成年...")
else:
    print("成年了...")

# for Python中没有fori形式
'''
格式：
    for elem in 迭代器/集合:
        代码块(缩进)
        代码块(缩进)
        代码块(缩进)
'''

for elem in [1, 2, 3, 4, 5]:
    print("elem:{}".format(elem))
print("elem:{}".format(elem))  # 注意缩进

# while 在Python中并没有 do while 方式
'''
格式：
    while (判断条件):
        代码块(缩进)
        代码块(缩进)
        代码块(缩进)

'''
print("*" * 50)
list = [1, 2, 3, 4, 5]
num = 0
while (num < len(list)):
    print("elem:{}".format(list[num]))
    num += 1

# break
# 当执行break直接跳出循环
# 需求：在1-5的列表中 遇到 3 就退出循环


for elem in [1, 2, 3, 4, 5]:
    if (elem == 3):
        break
    print("elem:{}".format(elem))

print(">>>>" * 5)
num = 0
while (num < len(list)):
    if (list[num] == 3):  # 判断下标
        break
    print("elem:{}".format(list[num]))
    num += 1

# continue
# 执行后，跳出当次循环并执行下次循环
print("<<<<<<<<<<<<<<<<<<<")
for elem in [1, 2, 3, 4, 5]:
    if (elem == 3):
        continue
    print("elem:{}".format(elem))

# 遍历容器
list2 = [1, 'str', True, None]
for l in list2:
    print(l)

tuple1 = (1, 'str', False)
for t in tuple1:
    print(t)

set1 = {1, 'str', False}
for s in set1:
    print(s)

print("&&&&&&&&&&&&&&&&&&&")
# 字典
dict = {
    "K1": "Value1",
    "K2": "Value2",
    "K3": [1, 'str', True, None]
}

# 方式一：
for key in dict:
    print("key:{} value:{}".format(key, dict[key]))

# 方式二：
for key in dict.keys():
    print("key:{} value:{}".format(key, dict[key]))

# 方式三：
for item in dict.items():
    print("item:", type(item))  # item 类型为tuple
    print("key:{} value:{}".format(item[0], item[1]))

# 方式四：
for k, v in dict.items():
    print("key:{} value:{}".format(k, v))

# range函数
# 作用：返回连续的整型数据

print(range(10))
for i in range(10):
    print("range:", i)

# range中可以传入一个左闭右开的范围
for i in range(2, 10):
    print("range:", i)

# 需求：取出 0-100中所有的奇数

list = []
for i in range(101):
    if (i % 2 == 1):
        list.append(i)

print(list)

count = 0
list2 = []
while (count < 101):
    if (count % 2 == 1):
        list2.append(count)
    count += 1
print(list2)

list3 = []
for i in range(1, 101, 2):
    list3.append(i)
print(list3)

# 列表推导式
# 格式：
#   格式1： [变量 for 变量 in 集合/迭代器]
#   格式2： [变量 for 变量 in 集合/迭代器 if(判断条件)]  if判断也叫守卫
list4 = [i for i in range(1, 101, 2)]
print(list4)

set1 = (i for i in range(1, 101, 2))
for s in set1:
    print("s:", s)

list5 = [i for i in range(1, 101, 2) if (i % 3 == 0)]
print(list5)




